package cn.jnetty.api.handler;

import cn.jnetty.api.executors.JExecutors;
import cn.jnetty.api.interceptor.HandlerInterceptor;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;

/**
 * @author 猪哥亮
 * @email 1030681978@qq.com
 * @date 2020/4/9 11:20
 * 描述：路由处理器
 */
public interface RouterHandler<T> {
    Object invoke(T msg)  throws IllegalAccessException,InvocationTargetException,IOException;
    void setJRequestDefinitionBean(RequestDefinitionBean bean);
    void setParameterHandler(ParameterHandler bean);
    void setHandlerInterceptor(HandlerInterceptor bean);
    void setJExcutors(JExecutors jExcutors);
    RequestDefinitionBean getJRequestDefinitionBean();
    ParameterHandler getParameterHandler();
    HandlerInterceptor getHandlerInterceptor();
    JExecutors getJExcutors();
    RouterHandler instance();
}
